package com.boarsoft.boar.soagov.face;

import com.boarsoft.boar.entity.FaceInfo;
import com.boarsoft.common.dao.PagedResult;

public interface FaceBiz {
	/**
	 * 查询接口
	 * 
	 * @param key
	 * @param orderBy
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	PagedResult<FaceInfo> list(String key, String orderBy, int pageNo, int pageSize);

	/**
	 * 删除某个接口，需同步删除目录
	 * 
	 * @param id
	 * @return
	 */
	void delete(String id);

	/**
	 * 获取接口信息
	 * 
	 * @param id
	 * @return
	 */
	FaceInfo get(String id);

	/**
	 * 复制face，以及FaceParam，不需要复制ObjFaces
	 * 
	 * @param sourceId
	 *            被拷贝的节点的ID
	 * @param parentId
	 *            目标节点（新节点的父节点）
	 * @param newId
	 *            新节点的ID（需要与DirInfo一致）
	 * @return
	 */
	String copy(String sourceId, String parentId, String newId);

	/**
	 * 移动face，libId可能会变
	 * 
	 * @param sourceId
	 *            被拷贝的节点的ID
	 * @param parentId
	 *            目标节点（新节点的父节点）
	 * @param newId
	 *            新节点的ID（需要与DirInfo一致）
	 * @return
	 */
	boolean move(String id, String to);

	void save(FaceInfo c);
}
